home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_gnu / adainc / a-chahan.ads < prev    next >
Text File  |  1996-01-30  |  5KB  |  115 lines

  1. -----------------------------------------------------------------------------
  2. --                                                                          --
  3. --                         GNAT RUNTIME COMPONENTS                          --
  4. --                                                                          --
  5. --              A D A . C H A R A C T E R S . H A N D L I N G               --
  6. --                                                                          --
  7. --                                 S p e c                                  --
  8. --                                                                          --
  9. --                            $Revision: 1.5 $                              --
  10. --                                                                          --
  11. -- This specification is adapted from the Ada Reference Manual for use with --
  12. -- GNAT.  In accordance with the copyright of that document, you can freely --
  13. -- copy and modify this specification,  provided that if you redistribute a --
  14. -- modified version,  any changes that you have made are clearly indicated. --
  15. --                                                                          --
  16. ------------------------------------------------------------------------------
  17.  
  18.  
  19. package Ada.Characters.Handling is
  20. pragma Preelaborate (Handling);
  21.  
  22.    ----------------------------------------
  23.    -- Character Classification Functions --
  24.    ----------------------------------------
  25.  
  26.    function Is_Control           (Item : in Character) return Boolean;
  27.    function Is_Graphic           (Item : in Character) return Boolean;
  28.    function Is_Letter            (Item : in Character) return Boolean;
  29.    function Is_Lower             (Item : in Character) return Boolean;
  30.    function Is_Upper             (Item : in Character) return Boolean;
  31.    function Is_Basic             (Item : in Character) return Boolean;
  32.    function Is_Digit             (Item : in Character) return Boolean;
  33.    function Is_Decimal_Digit     (Item : in Character) return Boolean
  34.                                                           renames Is_Digit;
  35.    function Is_Hexadecimal_Digit (Item : in Character) return Boolean;
  36.    function Is_Alphanumeric      (Item : in Character) return Boolean;
  37.    function Is_Special           (Item : in Character) return Boolean;
  38.  
  39.    ---------------------------------------------------
  40.    -- Conversion Functions for Character and String --
  41.    ---------------------------------------------------
  42.  
  43.    function To_Lower (Item : in Character) return Character;
  44.    function To_Upper (Item : in Character) return Character;
  45.    function To_Basic (Item : in Character) return Character;
  46.  
  47.    function To_Lower (Item : in String) return String;
  48.    function To_Upper (Item : in String) return String;
  49.    function To_Basic (Item : in String) return String;
  50.  
  51.    ----------------------------------------------------------------------
  52.    -- Classifications of and Conversions Between Character and ISO 646 --
  53.    ----------------------------------------------------------------------
  54.  
  55.    subtype ISO_646 is
  56.      Character range Character'Val (0) .. Character'Val (127);
  57.  
  58.    function Is_ISO_646 (Item : in Character) return Boolean;
  59.    function Is_ISO_646 (Item : in String)    return Boolean;
  60.  
  61.    function To_ISO_646
  62.      (Item       : in Character;
  63.       Substitute : in ISO_646 := ' ')
  64.       return       ISO_646;
  65.  
  66.    function To_ISO_646
  67.      (Item      : in String;
  68.       Substitute : in ISO_646 := ' ')
  69.       return       String;
  70.  
  71.    ------------------------------------------------------
  72.    -- Classifications of Wide_Character and Characters --
  73.    ------------------------------------------------------
  74.  
  75.    function Is_Character (Item : in Wide_Character) return Boolean;
  76.    function Is_String    (Item : in Wide_String)    return Boolean;
  77.  
  78.    ------------------------------------------------------
  79.    -- Conversions between Wide_Character and Character --
  80.    ------------------------------------------------------
  81.  
  82.    function To_Character
  83.      (Item       : in Wide_Character;
  84.       Substitute : in Character := ' ')
  85.       return       Character;
  86.  
  87.    function To_String
  88.      (Item       : in Wide_String;
  89.       Substitute : in Character := ' ')
  90.       return       String;
  91.  
  92.    function To_Wide_Character (Item : in Character) return Wide_Character;
  93.    function To_Wide_String    (Item : in String)    return Wide_String;
  94.  
  95. private
  96.    pragma Inline (Is_Control);
  97.    pragma Inline (Is_Graphic);
  98.    pragma Inline (Is_Letter);
  99.    pragma Inline (Is_Lower);
  100.    pragma Inline (Is_Upper);
  101.    pragma Inline (Is_Basic);
  102.    pragma Inline (Is_Digit);
  103.    pragma Inline (Is_Hexadecimal_Digit);
  104.    pragma Inline (Is_Alphanumeric);
  105.    pragma Inline (Is_Special);
  106.    pragma Inline (To_Lower);
  107.    pragma Inline (To_Upper);
  108.    pragma Inline (To_Basic);
  109.    pragma Inline (Is_ISO_646);
  110.    pragma Inline (Is_Character);
  111.    pragma Inline (To_Character);
  112.    pragma Inline (To_Wide_Character);
  113.  
  114. end Ada.Characters.Handling;
  115.